package com.enjoyor.soa.traffic.api.service.dubbo.tcyd;


/**
 * 提供回调功能的Dubbo服务
 * @author yuankun
 * @version V1.0
 */
@SuppressWarnings("rawtypes")
public interface CallbackService {
	
	/**
	 * 向回调服务中注册一个监听器
	 * @param listener 监听器
	 */
	void addListener(CallbackListener listener);
	
	/**
	 * 当记录修改事件发生时，通知所有监听器
	 * @param changeType 事件类型
	 * @param object 被改变的对象
	 */
	void notifyListener(String changeType, Object object, Class name);
	
	/**
	 * 返回回调服务目前的状态，以判定其工作是否正常
	 * @return 0：表明回调服务工作正常，其他：表明回调服务无法正常工作
	 */
	int isActive();
	/*NEW******************************************************************/
	boolean isActive(String name);
	
	void addName(CallbackListener listener, String name);
}